MACRO &lab _BlockMove &lab ldx #$2B02 jsl $E10000 MEND MACRO &lab _DrawChar &lab ldx #$A404 jsl $E10000 MEND MACRO &lab _DrawString &lab ldx #$A504 jsl $E10000 MEND MACRO &lab _GetPort &lab ldx #$1C04 jsl $E10000 MEND MACRO &lab _MoveTo &lab ldx #$3A04 jsl $E10000 MEND MACRO &lab _SetPort &lab ldx #$1B04 jsl $E10000 MEND MACRO &lab _StringWidth &lab ldx #$A904 jsl $E10000 MEND MACRO &lab _BeginUpdate &lab ldx #$1E0E jsl $E10000 MEND MACRO &lab _CloseWindow &lab ldx #$0B0E jsl $E10000 MEND MACRO &lab _EndUpdate &lab ldx #$1F0E jsl $E10000 MEND MACRO &lab _NewWindow &lab ldx #$090E jsl $E10000 MEND MACRO &lab _SetSysWindow &lab ldx #$4B0E jsl $E10000 MEND MACRO &lab pushlong &addr,&offset &lab ANOP LCLC &C LCLC &REST &C AMID &addr,1,1 AIF "&C"="#",.immediate AIF "&C"="[",.zeropage AIF C:&offset=0,.nooffset AIF "&offset"="s",.stack pushword &addr+2,&offset pushword &addr,&offset MEXIT .nooffset pushword &addr+2 pushword &addr MEXIT .immediate &REST AMID &addr,2,L:&addr-1 dc I1'$F4',I2'(&REST)|-16' dc I1'$F4',I2'&REST' MEXIT .stack pushword &addr+2,s pushword &addr+2,s MEXIT .zeropage ldy #&offset+2 pushword &addr,y ldy #&offset pushword &addr,y MEND MACRO &lab pushword &SYSOPR &lab ANOP AIF C:&SYSOPR=0,.b LCLC &C &C AMID "&SYSOPR",1,1 AIF ("&C"="#").AND.(S:LONGA),.immediate lda &SYSOPR pha MEXIT .b pha MEXIT .immediate LCLC &REST LCLA &BL &BL ASEARCH "&SYSOPR"," ",1 AIF &BL>0,.a &BL SETA L:&SYSOPR+1 .a &REST AMID "&SYSOPR",2,&BL-2 dc I1'$F4',I2'&REST' MEND MACRO &lab str &string &lab dc i1'L:&string',C'&string' MEND MACRO &lab longm &lab ANOP rep #%00100000 longa on MEND MACRO &lab shortm &lab ANOP sep #%00100000 longa off MEND MACRO &lab _DInfoGS ¶ms &lab jsl $E100A8 dc i2"$202C" dc i4"¶ms" MEND MACRO &lab _GetPrefixGS ¶ms &lab jsl $E100A8 dc i2"$200A" dc i4"¶ms" MEND MACRO &lab _VolumeGS ¶ms &lab jsl $E100A8 dc i2"$2008" dc i4"¶ms" MEND